Interactive computerized document assembly system and method

ABSTRACT

An interactive computerized document assembly system includes a model template formed of a sequence of sections and having decisional options including clause repeats and conditional clauses and questions to be answered for a document to be assembled; as well as functions for indicating the location in the model template for the decisional options to identify the sequence of sections constituting the model template; a video display for displaying a portion of the template; an answer index for storing answers to questions posed in the portion of the template displayed, each of the questions having a unique identifier; merging with each displayed section or part thereof the answers corresponding to each displayed section or part thereof; and combining and redisplaying in sequence each displayed merged section or part thereof in order to assemble a document from the model template.

This application is a continuation of application Ser. No. 08/396,881,filed Mar. 1, 1995 now abandoned, which is a continuation, ofapplication Ser. No. 08/089,638, filed Jul. 12, 1993, now abandoned,which is a continuation of application Ser. No. 07/625,881, filed Dec.11, 1990 now abandoned.

FIELD OF INVENTION

This invention relates to an interactive computerized document assemblysystem, and more particularly to such a system which creates orre-creates the document each time and only when the document is called.

BACKGROUND OF INVENTION

Conventional document assembly systems such as used by lawyers tocompose legal documents begin by asking a series of questions pertinentto the construction of the final document. The answers to thesequestions are then merged into the basic document or template to fill indesignated blanks. These answers are also used to determine what clausesshould be eliminated, added or repeated In these systems the answers arenot directly inserted into the prewritten text or template. Rather, theanswers are stored as responses to the questions. When a merge commandis given then the answers are added to the template, after which thecomplete text--template with answers--can be called up and viewed. If atthis point the user is dissatisfied with the answer as it appearsinserted in the text, the question and answer mode must be accessed onceagain. Then the specific question whose answer is not satisfactory iscalled up again. A new answer is supplied and then once again the systemmust be switched to the merge mode, after which a complete form of thetext with the new answer can be viewed. Separation of the answeringfunction and the merge and display functions makes the system unable topresent the answers in their textual context while the question andanswer cycle is operating. This is an especially troublesome featurewhen the system is being used to draft complicated documents such aslegal instruments.

Further, these systems require that the location of the question blanksin the text be mapped so that their position can be ascertained in spiteof shifts in location due to variations in the lengths of answers and/orthe inclusion, omission or repetition of optional decisional clauses.This mapping feature requires substantial computing power and memorysize, and tends to make the system cumbersome and slow in addition tocompelling a separation of the answer and the merge modes.

SUMMARY OF INVENTION

It is therefore an object of this invention to provide an improveddocument assembly system which affords truly interactive documentcreation.

It is a further object of this invention to provide such an improveddocument assembly system which is faster, simpler and smaller.

It is a further object of this invention to provide such an improveddocument assembly system in which the text can be viewed as the answersare inserted in the question and answer mode without the necessity tomerge and further display.

It is a further object of this invention to provide such an improveddocument assembly system in which the answers can be easily changed atany time, whether entering or editing.

It is a further object of this invention to provide such an improveddocument assembly system which can at any point in the document createor recreate the document from the template and answers.

It is a further object of this invention to provide such an improveddocument assembly system which eliminates the need for mapping locationsof all the question blanks in the text.

The invention results from the realization that a simple yet extremelyhigh-performance document assembly system utilizing a full text modeltemplate can be achieved by employing a decisional index to indicate thelocation of decisional options such a clause repeats and conditionalclauses, and using the locations of those decisional options to identifythe sections of the model template to be merged with previously storedanswers and combined in sequence to contemporaneously recreate thedocument each time a new answer is supplied.

This invention features an interactive computerized document assemblysystem including means for storing a model template, formed from asequence of sections and having decisional options including clauserepeats and conditional clauses and questions to be answered, for adocument to be assembled. There are means for indicating the location inthe model template of the decisional options to identify the sequence ofsections constituting the model template. There are also means fordisplaying a portion of the template and means for storing answers toquestions posed in the portion of the template displayed. Each suchquestion has a unique identifier. There are means for merging with eachdisplayed section or part thereof the answers corresponding to eachdisplayed section or part thereof, and means for combining andredisplaying in sequence each displayed merged section or part thereofin order to assemble a document from the model template.

In a preferred embodiment, the means for determining the location of thedecisional options includes means for representing the text offset ofthe beginning and end of each decisional option in the model template.The means for displaying may include a video display device. The meansfor storing answers may include an answer index having a uniqueidentifier for each answer corresponding to its associated question. Themeans for merging may include means for matching the identifier of eachquestion with the corresponding answer identifier. The means forcombining and redisplaying may include means for detecting the locationof the start of the next decision option in the template; means fortracking the present position in the template; and means, responsive tothe present position being ahead of the start of the next decisionoption, for assembling into the document the template section up to thestart of the next decision option. The means for combining andredisplaying may also include means responsive to the present positionbeing at or in a decision option for determining whether the decisionoption is to be assembled into the document or skipped. The means forcombining and redisplaying may further include means responsive to thepresent position being at or past the end of a clause repeat, fordeciding whether the clause represented by the clause repeat decisionaloption is to be repeated in the document. The system may further includemeans responsive to the means for storing answers for deleting portionsof the document previously assembled and displayed upon entry of ananswer into a displayed section.

The invention may also feature a document assembly system includingmeans for storing a model template, formed of a sequence of sections andhaving decisional options including clause repeats and conditionalclauses and questions to be answered, for a document to be assembled.There are means for indicating the location in the model template of thedecisional options to identify the sequence of sections constituting themodel template; and means for storing answers to questions posed in thetemplate. Finally there are means for merging with each section or partthereof the answers corresponding to each preselected section and foroutputting each preselected section with the answers to assemble thedocument.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects, features and advantages will occur to those skilled inthe art from the following description of a preferred embodiment and theaccompanying drawings, in which:

FIG. 1 is a block diagram of a computer system that can be used toaccomplish this invention;

FIG. 2 is an illustration of an initial screen from which a user canchoose a document to be assembled;

FIG. 3 is a replica of the template of the document chosen to beassembled;

FIG. 4 is a decision index which lists the decisional options for thetemplate of FIG. 3;

FIG. 5 is an answer index which lists the identifiers and the answers toquestions posed in the template of FIG. 3;

FIG. 6 is an illustration of the screen displaying a portion of thetemplate of FIG. 3 used to create a portion or a block of the finaldocument with the first question to be answered highlighted;

FIG. 7 is an illustration similar to FIG. 6 with the template scrolledupwardly so that the title is no longer a part of the document block onthe screen and showing the question box opened for the first question;

FIG. 8 is a view similar to FIG. 7 with the answers inserted in thequestion box of FIG. 7 already installed at the proper position in thetext with the second question blank highlighted and the question boxopen for answering the second question blank;

FIG. 9 is a view similar to FIG. 8 with the template scrolled upward yetagain to form a new document block from the template with the nextquestion highlighted and the question box set to receive answers to thatquestion blank;

FIG. 10 is an illustration of the screen similar to FIG. 9 with thetemplate further scrolled showing the answer supplied in FIG. 9 alreadyinserted into the text, the next question blank highlighted and thequestion box set to receive answers to that question;

FIG. 11 is a view similar to FIG. 10 with the question box closed,showing the screen with the last previously answered questionhighlighted;

FIG. 12 is a view similar to FIG. 11 with the question box reopened withthe next question blank highlighted;

FIG. 13 is an illustration similar to FIG. 12 with the template furtherscrolled up the screen to show a different document block with the nextquestion highlighted and the question box open to receive answers tothat question, which is a conditional question;

FIG. 14 shows the options presented in the next question blank as aresult of the conditional clause selected in FIG. 13;

FIG. 15 is a view similar to FIG. 14 showing a second question blank ina conditional clause which must be answered as a result of the selectionof this condition in FIG. 13;

FIG. 16 shows the completed assembled document on the screen;

FIG. 17 is a schematic diagram illustrating the manner in which thedecision index is used in conjunction with the answer index for creatingor recreating a document block called to the screen;

FIG. 18 is a schematic illustration of the operation of the system withan enlarged template which includes a number of document blocks far inexcess of a single screen;

FIG. 19 is a more extensive decision index similar to FIG. 4 for a morecomplicated document;

FIG. 20 is a flow chart of the document assembly system according tothis invention;

FIG. 21 is a more detailed flow chart of the routine for getting thestart and end locations of template blocks in FIG. 20; and

FIG. 22 is a more detailed flow chart of the routine for combining thetemplate blocks with the answer index to form document blocks as shownin FIG. 20.

DISCLOSURE OF PREFERRED EMBODIMENT

There is shown in FIG. 1 a computer system 10 which includes a CPU 12with memory 14. There is a conventional hard disk 16, a keyboard 18 forcontrolling the CPU, a display 20, and a printer 22. Computer system 10may be implemented by a conventional PC type computer such as an IBMPersonal Computer AT.

When the document assembly system of this invention is operating, aninitial screen appearing on display 20 is menu 30, FIG. 2. The list ofdocuments which can be assembled using this system are tabulated at 32under the heading "Document Description". Assuming that Special Power ofAttorney 34 is the chosen document, the system calls up the fulltemplate 40, FIG. 3, for the Special Power of Attorney and places it inmemory 14. Template 40 includes a number of question blanks. Eachquestion blank, indicated by the square brackets, may have one or moreparts. For example, the first question blank 42 relates to the name andaddress of the parties. It is designated question blank A1 and includesfive identifiers A1.1-A1.6. A1.2 is missing because it is an internallygenerated question, as will be seen subsequently. The second questionblank 44, A2, has to do with the attorney's name and address andincludes five identifiers A2.1-A2.5. The missing identifier in the firstquestion blank, A1.2, appears following the second question blank at thethird question blank 46 with the identifier IA1.2. Identifier A1.2 is afunction of whether the first question blank 42 is answered in the nameof a single party or plural parties. If it is a single party thenquestion blank 46 automatically contains a "my"; if it is plural partiesit automatically contains the word "our". In the second paragraph, thethird question blank 48 represents a decisional option, namely a repeatclause. That is, if there is more than one piece of real estate affectedby the power of attorney, then more than one address is provided atquestion blank 48, in which case the third paragraph 50 is repeated oncefor each piece of real property whose address is given in answer toquestion blank 48. There may be no properties as an answer to 48 inwhich case the paragraph is excluded. Within each repeat of paragraph50, the next question blank 52 must be answered as to whether thisconveyance is to be with or without the taking back of a purchase moneymortgage, deed of trust, or whether a mortgage or deed is to bespecified as indicated by identifier 5. Following this, in the fourthparagraph 54 the instruction is given that the next paragraph 56 isincluded if the power of attorney is granted for a specific period oftime. Thus if the answer to question blank 58 is "yes" as indicated atidentifier A3-a, then paragraph 56 is inserted and question blanks 60and 62 represented by identifiers A4 and A5 must be answered to give theeffective date and the expiration date of the power of attorney.Following this is the execution clause where the information concerningthe location of the signing can be automatically inserted from theinformation already provided above at the question blank associated withidentifier A1.6, A1.5, and A1.1.

Simultaneously with the calling of the template for the Special Power ofAttorney, there is called the accompanying Decision Index 70, FIG. 4,which is associated with that Special Power of Attorney 40. The DecisionIndex includes a list of the decisional options, that is, repeat clausesor conditional clauses, that occur in the template of the chosendocument In this example, Decision Index 70 includes only two decisionaloptions The first one is a repeat clause, the beginning of which isindicated by the letter R, 72. Its identifier, K3, is listed at 74, andits offset or location is indicated at 329 spaces from the beginning ofthe document as shown by the number 329 at 76. The last numeral in thestatement, number 2, indicated at 78, indicates that the repeat clauseends at the second position. At the second position the letter Findicates the finish of a repeat clause. The question blank is the same,K3, and the end of the repeat clause occurs at offset or position 737 asindicated at 82. This particular clause begins at the first position asindicated by the number 1 at 84. The second and only other decisionaloption in Decision Index 70 is a conditional clause which begins at theletter C indicated at 86, which is associated with the identifier A3-aindicated at 88, which begins at offset 738 indicated at 90, and ends atthe fourth position indicated by the number 4 at 92. The conditionalclause ending indicated at the letter E designated by numeral 94 has thesame identifier A3-a indicated at 88, and ends at offset 972 indicatedat 96. The beginning of the conditional clause begins at position 3 asindicated by number 3 at 98. The answer index 99 includes two columns ofinformation. On the left is the column of identifiers generallyindicated at 100, which contains each of the identifiers contained inthe brackets shown in template 40 in FIG. 3. The other column 102 inFIG. 5 bears the actual answers given by the user associated with eachof the identifiers 100. This column is completed as the user movesthrough the template answering the questions posed by the template andwill be complete, as shown in FIG. 5, when the entire set of questionshave been answered.

In operation, the system presents a portion of the template 40 on thescreen 110 of display 20 to begin preparation of a block 112 of thedocument to be assembled. The first portion designated by the identifierA1.1 of question blank 42, FIG. 6, is highlighted as shown, and thesystem is now ready to receive answers to all the questions in questionblank 42, that is, those designated by the identifiers A1.1-A1.6.

At this time the system scrolls up a bit so that question blank 42 is atthe top of the screen and the title, Special Power of Attorney,disappears. Also at this time the question block 120 opens on screen110, FIG. 7. In response to the specific questions associated withidentifiers A1.1, IA1.2, A1.3 and A1.4, the user types in theinformation John and Mary Smith, married couple, 123 First Street, andBoston, respectively. This information is immediately stored in theanswer index 99 so that the first few lines of information, John andMary Smith, We, we, our, 123 First Street, Boston, Suffolk andMassachusetts appear in column 102 and are accumulated or stored, asindicated in column 102. A1.5 (County) and A1.6 (State) do not appearbecause they are not presently visible on screen. In keeping with animportant feature of this invention, the portion of the template onscreen 110, FIG. 8, is immediately recreated with all the answersinserted and visible to the user. At this time the second question blank44, FIG. 8, is highlighted and the question box 120 now presents theseries of questions A2.1-A2.5 to identify the name and address of theattorney who will be given the power of attorney.

As soon as this information is supplied in question box 120, thatinformation is accumulated or stored in answer index 99, FIG. 5, so thatcolumn 102 now contains the information Robert Blanding, 456 SecondStreet, Bedford, Middlesex, Mass., opposite the identifiers A2.1-A2.5.This information, too, is immediately combined with the template andreconstructed so that the text complete with the answers is immediatelydisplayed on screen 110 for the user. The screen is then scrolled up sothat the next paragraph is at the top of the screen 110, FIG. 9. Thisparagraph contains the next question 48, which is a decisional option,namely a repeat clause. Decisional option question blank 48 is nowhighlighted, FIG. 9, and question box 120 now contains questions K3,1and K3,2, where the addresses 1 Main Street, Rockport, Mass., and 2South Street, Natick, Mass., have been entered indicating that there aretwo different pieces of property that are to be covered by this SpecialPower of Attorney. Immediately when these are entered they areaccumulated or stored in column 102 of answer index 99, FIG. 5, oppositethe identifiers K3,1, K3,2. Had there been a third and a fourthproperty, for example, they would be K3,3 and K3,4 with additionaladdresses opposite them.

Following this, FIG. 10, paragraph 50 of template 40, FIG. 3, isrecreated and scrolled to the top of screen 110 with the address of thefirst piece of property already inserted in the proper place in thetext. At this point the next question blank 52, FIG. 10, is highlightedand question box 120 is opened and set up to receive the answer to thequestion as to what type of terms are desired. The selection at thispoint is "all", which provides the answer "with the taking back of apurchase money mortgage". At this point instead of selecting "Ok - next"as is typical, the selection "Ok - close" can be made. This closes thequestion box 120 so that the full screen 110 can be seen as shown inFIG. 11. At this point the highlighting is still in the area of questionblank 52, although that question has been answered and the answers havebeen already inserted in the text at the proper location. The secondgrant paragraph, a repeat of the first, is now also visible, designatedas paragraph 50a. It contains the address of the second piece ofproperty, namely 2 South Street, Natick, Mass. Still to be answered hereis the question blank 52a which determines the terms under which thegrant is to be made. Upon moving back into the question mode, FIG. 12,screen 110 once again includes question box 120 with the same questionpresented. This time the answer is "c", "deed of trust". Question box120 is opened and is now highlighted as indicated at 52a, FIG. 12. Theanswer chosen in question box 120 at this point is "c", "deed of trust".

Paragraph 54 has now been scrolled to the top of screen 110, FIG. 13,and question blank 58 is now highlighted. Question box 120 now seeks theanswer to the question as to whether this power of attorney is to begranted for a specific period of time. This is a decisional option. Theanswer selected in question box 120 is "a", that is, yes and it isimmediately stored. Thus, following this, the next paragraph 56, aconditional paragraph, is inserted rather than skipped, and the questionpresented in question box 120, FIG. 14, is "What is the effective date?"This is answered in box 120, FIG. 14, with the date Jan. 1, 1991.Immediately this date is inserted in question blank 64 associated withidentifier A4, as indicated in FIG. 15, and the next question blank 62is highlighted which asks for the expiration date and is identified bythe identifier A5. Thus in question box 120 the expiration date, Dec.31, 1999, is supplied. This immediately is inserted into the questionblank area 62 designated by identifier A5. At this point the SpecialPower of Attorney is complete and appears as shown in FIG. 16, with allof the information inserted so that the entire document 130 has now beenassembled.

One of the important features of this invention is that there need notbe the conventional large and complex mapping of the question blanks inorder that they be properly located as their position is shifted in thetemplate by the addition of longer or shorter answers or by theinsertion, omission, or repetition of decisional options such as repeatclauses and conditional clauses. The invention accomplishes this byreconstructing the portion of the document block appearing on the screeneach time an answer is changed. It also recreates the document blockwhich is on the screen each time that any question is answered orchanged in the document block appearing on the screen. This is doneusing the template utilizing the decision index to control the sequenceof selection of the template sections that are to be joined to make thedocument block and simultaneously pulling in the proper answers from theanswer index.

For example, for the simple Special Power of Attorney 40 displayed inFIG. 3 and used for the example in FIGS. 4-16, the document block 140,FIG. 17, on screen 110, may be constructed from the answer index 99,FIGS. 17 and 5, and the decision index 70, which is shown schematicallyas illustrated with respect to the decision trail index 142, FIG. 17.The system begins by determining that it is at point zero in thetemplate and then determines where the next decisional option occurs.The next decisional option, indicated by R, 72, the beginning of arepeat clause, occurs at offset 329. Therefore the system takes thepieces of template from 0 to 328 and delivers them directly to thedocument block 140 on screen 110. At the same time, any portions of thatsection of the template which contains square brackets is scanned forits identifier. When the identifier, for example A1.1, is found, asearch is made in answer index 99. If no answer is present in column102, FIG. 5, opposite identifier A1.1, then a question blank is simplyreproduced at that point. If there is an answer then the answer isreproduced. The system then finds itself at point 329 and so itreproduces the repeat clause which exists from offset 329 to offset 737.This is directed to document block 140 on screen 110 and is combinedwith whatever question blanks or answers are indicated by questionblanks within the square brackets in that section of the template. Atthe end of that repeat clause, indicated by the letter F at 80, thesystem looks to find a second identifier, K3,2, accompanied by a secondaddress, and so the system moves back to offset 329 and once againreproduces the repeat clause from position 329 to position 737 in thedocument block 140, this time supplying the different address associatedwith identifier K3,2. At this point the system finds itself at offset738 facing another form of decisional option, the conditional clause,which has to do with whether or not the power of attorney is granted fora specific period of time. Since it was, the conditional clause isincluded and so the section of the template from offset 738 to offset927 is delivered to document block 140 and combined with the answersfrom answer index 99 which are associated with identifiers A4 and A5. Atthis point the letter E at 94 indicates that the conditional clause isat an end, and the system once again seeks to find the next decisionaloption. Since there is none from 927 to the end of the template atoffset 1225, the system simply copies the remaining text into documentblock 140 in conjunction with the suitable answers from answer index 99.

While for simplicity the Special Power of Attorney chosen as an examplewas short, this is not a necessary limitation of the invention. Forexample, a large number of document blocks 150, 152, 154, 156, FIG. 18,and so on, may be involved. In each case the screen may contain anentire block, more than a block of the template, or less than a block ofthe template. In any case, each time that a portion of the documenthaving been formed from the combination of the template and the answersgiven is called to the screen, that called portion of the document isrecreated because the document as a whole does not actually resideanywhere in the system. That is, at any given point in time the answersare all stored in answer index 99, the decisional options are all storedin Decision Index 70, and the Decision Index 70 is utilized to directthe combination of sections of the template in conjunction with theanswers from answer index 99 to recreate the portion of the documentbeing called. Whether it is called for display on the screen, or forprinting, or to be saved for a particular purpose, the effect is thesame. Thus for example, if the system is working on screen 110 whichcontains a portion of block 154, then the remainder of block 154 plusall of blocks 150, 152, 156, have been eliminated: that is, they do notexist except insofar as the information to reconstruct them exists inthe decision index 70, the answer index 99, and the basic template 40.

Although the Special Power of Attorney is a simple one for purposes ofillustration and the decision index 70, FIG. 4, is similarly simple forpurposes of illustration, this is not a necessary limitation of theinvention. For example, a more complicated document may have conditionalclauses inside of repeat clauses and repeat clauses inside ofconditional clauses, and may have them cascaded. For example, as can beseen in Decision Index 70a, FIG. 19, the first decisional option,condition clause 160, has its beginning indicated by C associated with aquestion blank 1-A and indicates that it begins at zero and that its endis at decision option 4. Thus in the fourth position down at 162, Eindicates the end at offset 3132 of the conditional clause begun at 160,C. Within that conditional clause is another conditional clause whichbegins at C 164, at offset 2897, and ends at E 166, at offset 3131. Thenext decisional option begins at the conditional clause which begins at168 C at offset 3133, and ends at position 26 at the E marked 170 atoffset 9972. Within that conditional clause alone, there are numerousother conditional and repeat clauses as can be seen between thebeginning 168 C and the end 170 E.

The use of the Decision Index to indicate the location of decisionaloptions which are used to identify the sections of the template to bemerged with previously stored answers and combined in sequence tocontemporaneously recreate the document each time a new answer issupplied or each time that document portion is called to the screen, isaccomplished by the software illustrated in the flow charts of FIGS. 20,21 and 22.

The interactive document assembly 200, FIG. 20, starts with the userselecting a document to work on, step 202. For example, this can be theSpecial Power of Attorney. Next the template and the decision index ofthe document are stored in memory, step 204. Then the start and endlocations of the first template block are obtained in step 206. This isdone as indicated by the explanation with respect to FIG. 17. Then aportion of a template block, or a full template block, or a number oftemplate blocks are combined to create, in step 208, the unanswereddocument block which is to appear on the screen The document block isdisplayed in step 210. The next question blank is highlighted in step212 and the system waits for an input from the keyboard in step 214. Ifthe key is pressed to open a question window in step 216, then aquestion is processed in step 218 and the answer is stored in step 220.Once the answer has been given, the template block at the start of thedocument block is obtained and indicated in step 222. This raises thequestion in step 224, "Does the screen start at this template block?"Ifthe answer is no, the implication is that because answers have changed,template blocks may be inserted or eliminated so that successivetemplate blocks must be obtained until the screen starts at the templateblock. Thus the system in that case gets the start and end of the nexttemplate block in step 226 and the system returns to step 224 until thetemplate block obtained is the same as the template block to bedisplayed on the screen. If the screen does start at this templateblock, then the implication is that the exact screen location within thetemplate block can be found and so the system moves from the startlocation of the template block to the screen location in step 228. Thisis so that the new document block will be created at the start screenlocation. Following this, the template blocks and the answers arecombined in step 230 to create a document block. Also at this point, allother document blocks and the remainder of this document block not onthe screen are eliminated in step 232, and the document block isdisplayed on the screen in step 234. If the user has requested anotherquestion in step 236, and the system has another question in step 238,the system then highlights the next question blank in step 240 andreturns to step 218 to process that question. If there is no otherquestion then the question box or question window is closed, step 242,and the system returns to step 212 and the blank is highlighted. If instep 236 the user did not want another question, the system goesdirectly to close the question box or question window in step 242.

If in step 216 no key is pressed to open the question window or box, thequestion is raised in step 244 as to whether a key has been pressed tosimply move to another part of the document. If the answer is no, thenthe inquiry is made in step 246 as to whether the key has been pressedto close the document. If the response is yes, the system simply exitsthe routine. If a key has been pressed to move through the document,then the system inquires in step 248 as to whether another documentblock is needed. If one is not needed, the system returns to highlight ablank in step 212. If another document block is needed, then a portionof a template block, or one or more template blocks, are combined instep 250 with the necessary answers to create a document block and thesystem returns to step 210 to display the document block.

Getting the start and end locations of a template block as called for insteps 206, 222 and 226 is carried out as indicated by flow chart 260,FIG. 21. The inquiry is first made in step 262 as to whether this is thefirst template block. If it is, the system gets a first decision indexvalue in step 264, in this case a repeat clause decisional option, to beused to determine the first template block, and then sets the startlocation to zero in step 266, since the first start template location isat point zero of the template. Following this, inquiry is made as towhether there is no decision index or no decisions left in step 268.What this means is that if there is no decision index or no decisionsare left, the end of the template block becomes the end of the template.If the response is in the negative, that implies that the template blockwill be determined by the decision index value, and so in step 270 aninquiry is made as to whether the block starts before the decisionlocation. What this means is that if the template start is before thedecision location, the template block end will be set before thebeginning of the decision index location or at the end of the decisionlocation, and it implies that there may be a break in the text at thedecision index location.

If the answer is yes, then the system sets the block end location beforethe beginning or at the end of the decision location as called for instep 272. The system then returns to the main routine in FIG. 20. If instep 270 the block does not start before the decision location, theninquiry is made in step 274 as to whether the system is at the beginningof a decision. The implication of that is that it must be determinedwhether or not the decisional text is to be included or excluded fromthe document. If it is, then the inquiry is made in step 276 as towhether the text should be skipped. If the answer is yes, then thesystem gets an end decision index value in step 278, which means thatthe text is skipped and the start location of the template block isafter the skipped text, which is after the end decision location, andthen in step 280 the block start location is set to a point after theend of the decision location and the system returns to get the nextdecision index value in step 282, so that the template block endlocation can be determined and then returns to step 268. If in step 276the decision text is not to be skipped, the system simply loops aroundsteps 278 and 280 and goes directly to get the next decision index valuein step 282. In step 274, if the determination is made that the systemis not at the beginning of a decision, then an inquiry is made in step284 as to whether the system is at a finish of a repeat decision. If theanswer is yes, the next inquiry made in step 286 is whether the repeatis to be repeated. If it is, the system is instructed in step 288 to getthe repeat decision index value and then in step 290 to set the blockstart location to the repeat decision location. Following this thesystem returns to the next decision index value in step 282. If in step268 there is no decision index or no decisions left, then the systemmoves to step 292 to set the block end location to the end of thetemplate so that the end of the template block becomes the end of thetemplate. If initially the system determined in step 262 that this wasnot the first template block, then inquiry is made in step 294 as towhether the system is recreating a template block. If it is not, thenthe system sets the block start location to a point after the last endlocation in step 296. If the system is recreating a template block, thenin the step 298 the system retrieves the location and decision value ofthe template block at the start of the document block so that thetemplate block at the start of the document block where answers havechanged will be created.

The operation of combining the template blocks and answers or thetemplate blocks and unanswered question blanks in steps 208, 250 and230, is shown in greater detail in FIG. 22. The routine begins in step300 by saving the template location and decision value for recreatingthe document block. Then the inquiry is made in step 302 as to whether adocument block is being created from a template or from an answer. If itis being created from a template, then in step 304 the templatecharacter is stored in the document block and the inquiry is made instep 306 as to whether the template block is used up. If it is not, thenthe inquiry is made in step 308 as to whether the document block iscomplete. If it is not, the system returns to step 302 and if a documentblock is still being created from the template the next character fromthe template is stored in the document block in step 304. If it isindicated in step 306 that the template block is used up, then aninquiry is made in step 310 as to whether the system is at the end ofthe template. If it is, the system simply exits the routine. If it isnot, the system in step 312 gets the start and the end of the nexttemplate block and then in step 314 saves the location of the start ofthe template block within the document block. What steps 310, 312 and314 accomplish is to get the next template block and save the locationof the template block within the document block so that the identity ofthe template block within the document block can be determined afteranswers have changed in the document block on the screen. After step 314the system returns to step 308. If the response in step 308 is in theaffirmative, the system simply exits the routine.

In step 302, if the document block is being created from an answered orunanswered blank, then inquiry is made in step 316 as to whether it isat the start of a blank. If it is the start of a blank, then in step 318the answer is retrieved if it exists, and inquiry is made in step 320 asto whether the blank has been answered to create a document block fromthe answered blank. If it is, then in step 322 the answer character isstored in the document block and the system returns to step 306. If instep 320 the blank is unanswered, then in step 324 the system stores adescription of a blank character in the document block and moves on tostep 306. In step 316, if it is indicated that it is not the start of ablank, the system simply skips over the step of retrieving the answer,if it exists, in step 318, and goes directly to the inquiry in step 320as to whether the document block is being created from the answeredblank.

Although the system has been explained in the preferred embodiment ascreating documents "top down" from the beginning to the end, it may aswell perform "bottom up" from the end to the beginning And the documentscan be created in final form without the asterisks or other markers.

Although specific features of the invention are shown in some drawingsand not others, this is for convenience only as each feature may becombined with any or all of the other features in accordance with theinvention.

Other embodiments will occur to those skilled in the art and are withinthe following claims:

What is claimed is:
 1. A document assembly system for use in assembling a document including at least a substantially textual portion comprising:means for storing a model template formed of a sequence of sections and having decisional options including textual clause repeats and conditional clauses and questions to be answered for assembling a document; means for indicating the location in said model template of said decisional options to identify the sequence of sections constituting said model template; means for storing answers to questions posed in said template, each said question having a unique identifier; and means for merging and outputting with each section or part thereof, the answer corresponding to each section in said sequence and for contemporaneously assembling an at least partly textual document when answers are supplied for said preselected section; means operable by a user to select a desired section and to change any answer appearing therein while displaying the desired section, and means for recreating the document text of a section in response to said change, as at least part of the document section is displayed or outputted, said recreating including, as required, re-executing any decisional options dependent upon the content of said answer.
 2. The document assembly system of claim 1 in which said means for indicating the location of the decisional options includes means for representing the text offset of the beginning and end of each decisional option in the model template.
 3. The document assembly system of claim 1 in which said means for storing answers includes an answer index having a unique identifier for each answer corresponding to its associated question.
 4. The document assembly system of claim 3 in which said means for merging includes means for matching the identifier of each question with the corresponding answer identifier.
 5. The document assembly system of claim 1 in which said means for merging and outputting includes means for detecting the location of the start of the next decision option in the template; means for tracking the present position in the template; and means, responsive to said present position being ahead of said start of the next decision option, for assembling into the document the template section up to the start of the next decision option.
 6. The document assembly system of claim 1 in which said means for merging and outputting includes means, responsive to the present location being at or in a decision option, for determining whether the decision option is to be assembled into the document.
 7. The document assembly system of claim 1 in which said means for merging and outputting includes means, responsive to the present location being at or past the end of a clause repeat, for deciding whether the clause represented by the clause repeat decisional option is to be repeated in the document.
 8. The system of claim 1 wherein the means for assembling and the means for recreating the document text includes means for detecting the location of the start of the next decision option in the template; means for tracking the present position in the template; and means, responsive to said present position being ahead of said start of the next decision option, for assembling into the document the template section up to the start of the next decision option.
 9. The system of claim 1 wherein the means for assembling and the means for recreating the document text includes means, responsive to the present location being at a decision option, for determining whether the decision option is to be assembled into the document.
 10. The system of claim 1 wherein the means for assembling and the means for recreating the document text includes means, responsive to the present location being at the end of a clause repeat, for deciding whether the clause repeat decisional option is to be repeated in the document.
 11. An interactive computerized document assembly system comprising:means for storing a model template for a document including a sequence of question blanks to be replaced by information to form a complete document, and for storing a plurality of question blocks for said sequence of question blanks, instructions for manually entering information for said question blanks, and options for automatically inserting information for said question blanks; means for displaying a portion of said template and for automatically highlighting in said displayed portion in sequence said question blanks to be replaced by information to form a complete document; means, for each highlighted question blank, for automatically showing in conjunction with a portion of said displayed template portion, a said question block corresponding to the highlighted question blank; means operable by a user to select a desired question block as shown on the display and to enter into said question block information to replace said highlighted question blank; and means for contemporaneously recreating a portion of the completed document after said information is entered, in dependence on said information and for recreating other portions of the completed document as they are displayed or outputted.
 12. The system of claim 11 in which said means for contemporaneously recreating a portion of the completed document includes means for removing said question block after said information is entered and redisplaying said template portion with at least the highlighted question blank replaced by the entered information before highlighting another said question blank in the sequence.
 13. The system of claim 12 in which said means for re-displaying includes means for matching the identifier of each question with the corresponding answer index identifier.
 14. The system of claim 11 further including means for indicating the location in said template of said question blanks and for representing the text offset at the beginning and end of each said question blank for assuring information entered for a said question blank is correctly positioned within the template.
 15. The system of claim 11 in which said means for displaying includes a video display device.
 16. The system of claim 11 further including means for storing said entered information to replace a highlighted question blank including an answer index having a unique identifier for each piece of information corresponding to its associated question blank.
 17. A document assembly system for use in assembling a document including at least a substantially textual portion, comprising:a model template stored on computer storage means, said template formed of a sequence of sections and decisional options which include textual clause repeats and conditional clauses and questions to be answered for assembling a document; means operable by a user to select, retrieve for display, and effect display, beginning from any location within the document chosen by the user, of a said section with a decisional option shown in said displayed section, for showing the user where the result of a decision will appear in the context of the document; means for storing answers supplied by the user in response to display of the decisional option for said displayed section; and means for contemporaneously redisplaying in text form a said section as modified in accordance with the result of a decision executed after an answer was supplied, and for allowing the user to verify the correctness of the effect of the decision supplied in the context of each section of the document where the effect appears.
 18. The document assembly system of claim 17 in which said means for contemporaneously redisplaying a said section along with an answer supplied includes:means for marking the start and end locations of each displayed section, means for evaluating whether an answer has changed after an answered is supplied; and means, in response to said means for evaluating, for automatically retrieving the start of-the section containing the answer and redisplaying that section with the answer in place.
 19. The system of claim 18 further including means for editing an answer supplied and for verifying the edited answer in place in the template section after an edited answer is supplied for immediately verifying the results of editing a previously supplied answer.
 20. A method for operating a digital computer comprising a processor and memory to assemble a document including at least a substantially textual portion, comprising:storing in the computer's memory a model template formed of a sequence of sections and having decisional options including textual clause repeats and conditional clauses and questions to be answered for assembling a document; storing in the computer memory indicators of the location in said model template of said decisional options to identify the sequence of sections constituting said model template; storing in the memory answers to questions posed in said template, each said question having a unique identifier; operating the computer to merge and output, with each section or part thereof, the answers corresponding to each said preselected section and contemporaneously assembling an at least partly textual document when answers are supplied for said preselected section; and operating the computer to allow a user to view on a display and select a desired section of the document and to change any answer appearing therein, and in response to a said change recreating the document text of said section in response thereto, and including, as required, re-executing any decisional options depending upon the content of said answer, and recreating other portions of the completed document as they are displayed or outputted.
 21. A method for operating a digital computer comprising a processor and memory to assemble a document including at least a substantially textual portion, comprising:storing in said memory a model template, said template formed of a sequence of sections and decisional options which include textual, clause repeats and conditional clauses and questions to be answered for assembling a document; operating the computer, while any section of the document is displayed, to retrieve and display a said section of the document with a decisional option shown in the displayed section for showing the user where the effect of the decision will appear in the context of the document; receiving at least one answer supplied by a user in response to display of a decisional option: storing in said memory answers supplied by a user in response to presentation to the user of a decisional option for said displayed section; executing said decisional option responsive to the answer supplied; and contemporaneously redisplaying in text form a said section as modified in accordance with the result of executing said decisional option responsive to said answer, allowing the user to verify the correctness of the effect of the decision supplied in the context of each section of the document where the effect appears.
 22. A method of operating a digital computer having a processor and memory to assemble a document including at least a substantially textual portion, comprising:storing in the computer's memory a model template formed of a sequence of sections and having decisional options including textual clause repeats and conditional clauses and questions to be answered for assembling a document; storing in the computer memory indicator of the location in said model template of said decisional options to identify the sequence of sections constituting said model template, storing in the memory answers to questions posed in said template, each said question having a unique identifier; operating the computer to merge and output, with each section or part thereof, the answers corresponding to each said preselected section and also contemporaneously assembling an at least partly textual document when answers are supplied for said preselected section; operating the computer to permit a user to view on a display, select and change any of said answers commencing from any place within the document; and in response to a said change, operating the computer to recreate the document text of the section containing said answer, and to display or output the recreated text consistent with said change. 